<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://www.tinyforum.com" elementFormDefault="qualified" targetNamespace="http://www.tinyforum.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd2" namespace="http://www.tinyforum.com/AccountDataObject.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd4" namespace="http://www.tinyforum.com/TopicDataObject.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd5" namespace="http://www.tinyforum.com/TopicDetailDataObject.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd8" namespace="http://www.tinyforum.com/Sorting.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd6" namespace="http://www.tinyforum.com/PostDataObject.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd9" namespace="http://www.tinyforum.com/SettingDataObject.xsd" />
  <xs:import schemaLocation="http://localhost:1048/TinyForumService.svc?xsd=xsd10" namespace="http://www.tinyforum.com/PostDetailDataObject.xsd" />
  <xs:element name="Register">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://www.tinyforum.com/AccountDataObject.xsd" minOccurs="0" name="accountDataObject" nillable="true" type="q1:AccountDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="RegisterResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccountExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccountExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AccountExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Authenticate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AuthenticateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AuthenticateResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GrantAdminPrivilege">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GrantAdminPrivilegeResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccountsByUserName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccountsByUserNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://www.tinyforum.com/AccountDataObject.xsd" minOccurs="0" name="GetAccountsByUserNameResult" nillable="true" type="q2:ArrayOfAccountDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccountsByEmail">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="email" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccountsByEmailResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://www.tinyforum.com/AccountDataObject.xsd" minOccurs="0" name="GetAccountsByEmailResult" nillable="true" type="q3:ArrayOfAccountDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccount">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAccountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://www.tinyforum.com/AccountDataObject.xsd" minOccurs="0" name="GetAccountResult" nillable="true" type="q4:AccountDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllAccounts">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllAccountsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://www.tinyforum.com/AccountDataObject.xsd" minOccurs="0" name="GetAllAccountsResult" nillable="true" type="q5:ArrayOfAccountDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPassword">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="passwordAnswer" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPasswordResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetPasswordResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChangePassword">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="oldPassword" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newPassword" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChangePasswordResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ChangePasswordResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChangePasswordQuestionAndAnswer">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newPasswordQuestion" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newPasswordAnswer" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChangePasswordQuestionAndAnswerResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ChangePasswordQuestionAndAnswerResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ResetPassword">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="answer" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ResetPasswordResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ResetPasswordResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Lock">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LockResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="Unlock">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnlockResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateInformation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="email" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateInformationResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTopic">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTopicResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateTopicResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://www.tinyforum.com/TopicDataObject.xsd" minOccurs="0" name="GetTopicByIdResult" nillable="true" type="q6:TopicDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicDetailById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="topicId" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicDetailByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://www.tinyforum.com/TopicDetailDataObject.xsd" minOccurs="0" name="GetTopicDetailByIdResult" nillable="true" type="q7:TopicDetailDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicDetails">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTopicDetailsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://www.tinyforum.com/TopicDetailDataObject.xsd" minOccurs="0" name="GetTopicDetailsResult" nillable="true" type="q8:ArrayOfTopicDetailDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPosts">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="topicId" type="xs:long" />
        <xs:element xmlns:q9="http://www.tinyforum.com/Sorting.xsd" minOccurs="0" name="postSort" type="q9:PostSortDataObject" />
        <xs:element xmlns:q10="http://www.tinyforum.com/Sorting.xsd" minOccurs="0" name="sortOrder" type="q10:SortOrderDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPostsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://www.tinyforum.com/PostDataObject.xsd" minOccurs="0" name="GetPostsResult" nillable="true" type="q11:ArrayOfPostDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSiteSettings">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSiteSettingsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://www.tinyforum.com/SettingDataObject.xsd" minOccurs="0" name="GetSiteSettingsResult" nillable="true" type="q12:SettingDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveSiteSettings">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://www.tinyforum.com/SettingDataObject.xsd" minOccurs="0" name="setting" nillable="true" type="q13:SettingDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveSiteSettingsResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPostDetail">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="postId" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetPostDetailResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://www.tinyforum.com/PostDetailDataObject.xsd" minOccurs="0" name="GetPostDetailResult" nillable="true" type="q14:PostDetailDataObject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>